package com.zhl.byte_stream4;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.InputStream;
import java.io.InputStreamReader;

public class FileInputStream1 {
    public static void main(String[] args) throws Exception {
        //目标：掌握文件字节输入流，每次读取一个字节
        //1.创建文件字符输入流管道，与源文件接通。
        //FileInputStream fis = new FileInputStream("src/ab.txt");
        InputStream isr = new FileInputStream("src/ab.txt");//简化写法，希望掌握

        //2.读取字节。
//        int b1 = isr.read();
//        System.out.println((char)b1);
//        int b2 = isr.read();
//        System.out.println(b2);
//        int b3 = isr.read();
//        System.out.println(b3);
        //当文件内容没有可读时，会返回-1。

        //3.使用循环改造上述代码
        int b;  //用于记住读取的字节
        while((b = isr.read()) != -1){
            System.out.print((char)b);
        }

        //上述方式读取性能很差，每次读取一个字节，效率低下。
        //并且读取汉字是乱码的。因为汉字是三个字节的，而我们每次读取一个字节。
        //流使用完毕后，需要关闭。节省系统资源。
        isr.close();


    }
}
